
import Utils from './utils';
import Html5Player from './html5/html5player';


/**
 * 初始化播放器实例的默认值。<br/>
 *
 * @name Default_player_options
 * @global
 * @constant

 * @property {string} appKey - 指定播放器使用的appKey（由驰声提供）。**必填**
 * @property {string} sigurl - 指定播放器获取sig和timestamp的服务器地址（sig算法由驰声提供）。**必填**
 * @property {string=} playerid - 指定播放器渲染在当前页面的DOM节点ID。默认值: chivox-player
 * @property {callback} onInit - 播放器初始化完成后的Callback调用。格式：(code, message) => {}
 * @property {callback} onError - 播放器初始化或运行期间出错时的Callback调用。格式：(error) => {}
 */
const Default_player_options = {
    playerid: 'chivox-player',
    sigurl: '',
    width: 100,
    height: 100,
    wmode: 'transparent',
    appKey: '',
    onInit: function(errno, err) {},
    onError: null
};

/**
 * PlayerBuilder类。<br/><br/>
 *
 * 根据mode构建指定模式的播放器。
 * *@param {Object} options - 初始化参数。格式参见：
 * @return {Object} - 指定模式的播放器实例。
 */
class CreatePlayer {

    static build(options) {
        options = Utils.extend(options, Default_player_options, true);
        const player = new Html5Player(options);

        return player;
    }
}

export default CreatePlayer;
